home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #15
/
Monster Media Number 15 (Monster Media)(July 1996).ISO
/
bbs_util
/
rs001.zip
/
ROBOSYS.DOC
< prev
next >
Wrap
Text File
|
1996-04-19
|
11KB
|
267 lines
ROBO-SYSOP
Version 1.0
Written by Matthew Probert
Published by Servile Software
DESCRIPTION:
Robo-Sysop is a PC BBS intelligent interview door system for BBS which
generate a DOOR.SYS file - such as Remote Access for example.
The purpose of Robo-Sysop is to provide an improved form of "new user"
questionnaire. Robo-Sysop's intelligence can be used to answer questions the
caller might have, and also to respond to stupid input, thereby screening
callers on your behalf.
Robo-Sysop will make use of ANSI if the caller has it enabled, but if not will
work perfectly well in monochrome. No sysop adjustments are necessary.
In practice Robo-Sys is rather complex to implement. It is essential that you
are familiar with the operation of your BBS software. Ideally, Robo-Sys should
be implemented as a door which is automatically executed by new callers on
their first call, and not subsequently. This can be implemented with Remote
Access through an autoexec questionnaire in the "top" menu which requires a
flag to be set for the function to be selectable. The questionnaire can then
run the external program (robosys.exe) and reset the callers flag to prevent
subsequent activation of the facility.
2
IN BRIEF:
Robo-Sysop is started from the command line with two required parameters and
two optional parameters. The first parameter is the name and path to your BBS
information file; DOOR.SYS. The second parameter is the path and name to the
configuration file to use for the interview. For example:
ROBOSYS C:\RA\DOOR.SYS ROBOSYS.CFG [port][fossil]
IMPORTANT! Robo-Sysop will assume that COM1 = 03F8 IRQ 4, COM2 = 02E8 IRQ3,
COM3 = 03E8 IRQ4 and COM4 = 02E8 IRQ 3 These are the standard COM port
addresses and IRQ levels.
You can optionaly specify a PORT:AAAA:X parameter, where AAAA is the base
address and X is the IRQ number associated with your COM port. You may also
specify PORT:F:P to force BBSChat to use a Fossil driver (assuming you have
one installed).
Robo-Sysop first displays the "opening" lines and then waits for the caller to
enter a reply. There after Robo-Sysop displays either the next "nomatch"
question phrase in sequence, or the next phrase connected with a matched
keyword in the callers input.
Keywords are matched on a first come first served basis. So specific keyword
phrases should occur at the start of the data file, with more general keywords
towards the end.
Should the user not make any keyboard entry for 5 minutes, or if the user's
allocated time expires Robo-Sysop will terminate and return to the BBS.
If the caller has ANSI enabled, Robo-Sysop will display the caller's prompts
and text in yellow, and the computers's in cyan. Otherwise both will be in
monochrome. Robo-Sysop detects and adjusts for the caller's ANSI settings
automatically.
The results of the conversation are added to the end of the file "robo.log" in
the current directory.
LIMITS:
Opening lines 50
No match questions 100
Data blocks 200
Aliases 10 per data block
Responses 20 per data block
3
VARIABLES:
Within the reply text in the data file various variables may be included which
will be expanded during the conversation.
*BAUD* Caller's connection speed
*DELAY* Pause for one second
*END* Force end of conversation, displaying "fed up message".
*USER* Caller's first name
*CITY* Caller's city
*PHONE* Caller's home phone number
*LAST* Last phrase (thread) output by the computer
*TIME* Current time is inserted
*LF* Line is split, carriage return and line feed inserted
*NOASK* Placed at the end of a matched output phrase it inhibits the
output of the next "nomatch" question until after the caller
has entered a reply.
*SEC* The caller's security level
*SYSOP* The sysop's name as recorded in door.sys
*TIMEOFDAY* MORNING, AFTERNOON or EVENING inserted ass appropriate
*timeofday* morning, afternoon or evening inserted ass appropriate
*Keyword* The matched keyword is inserted with first letter capitalised
*Keyword* The matched keyword is inserted with first letter capitalised
*KEYWORD* The matched ked keyword is inserted capitalised
*keyword* The matched keyword is inserted as it was typed by the user
DATA FILE STRUCTURE:
; optional comment lines
N Number of opening lines
XXXX Opening line 1
XXXX Opening line 2
; Then the "no match" questions
NOMATCH
N Number of questions for non-matched caller input
XXXX Non-matched question #1
XXXX Non-matched question #2
; Finally the data blocks
THREAD The last phrase the computer output (maximum of 80 characters)
KEYWORD Keyword or phrase to match with caller input
*ALIAS* An alias key word for this section
N Number of responses in this section
XXXX Response #1
XXXX Response #2
Please refer to the supplied demonstration file 'ROBOSYS.DAT' for an example
of the data file in practice.
Replies are what Robo-Sysop will display in response to user entered data and
are terminated by a carriage-return/line feed in the configuartion file.
Keywords and aliases MUST be in upper case Any line commening with ; is
ignored. Variables may be inserted in any response, except that the *keyword*
variable may not be used in either opening or non-matched responses
4
When the user enters some text, Robo-Sysop searches the text for each keyword
and then associated aliases in turn. Keywords/aliases are matched if they
occur in the entered text. So it is important to include spaces around words
you want to match in full, for example:
NO will match with NO, NOW, NOTHING etc
but
" NO " will only match with NO
Keywords/aliases may be multiple words, and quote marks are ignored, eg:
"WHAT IS THE TIME"
When Robo-Sysop matches a keyword/alias it ouputs the next recorded response
in sequential order. If there are no responses to be made, Robo-Sysop
terminates the interview. Even if a match is made with the callers input, the
next NOMATCH question is output in the same way.
A conversation thread may be achieved by using subsets of keywords linked to
different threads. Any data block which includes a thread will only be
searched for a keyword match if the last output from the computer matches that
data block's thread. To make this easier to use, the data block will be
accepted if the last phrase the computer output is the same as the thread or
if the last ouput phrase commenced with the thread or if the data block has a
null thread. For example;
Computer's ouptut was "Yes I do that often"
This will match with the following data block threads;
"Yes"
"Yes I do"
"Yes I do that often"
but it will not match with
"Yes I am"
The results of the interview are recorded in a file 'ROBO.LOG' which is
appended with each new conversation, and resides in the current DOS directory.
BBS USAGE:
If you are using Remote Access as a BBS, you can configure a menu option to
call Robo-Sysop as an external program through a questionnaire. In this way
you can default new users to have a flag set on, and the questionnaire can
turn this flag off, so that only first-time callers are presented with the
Robo-Sysop. Remember to "auto-exec" activate the questionnaire from the "top"
menu only if the flag is set on.
Within the questionnaire you can use, for example:
EXEC *C /C C:\BAT\ROBO.BAT
SET FLAG A1 OFF
5
Remote Access will then shell to DOS and execute the batch file "robo.bat"
which may look like:
@echo off
cd \doors\robo
robosys c:\ra\door.sys robosys.cfg
cd \ra
exit
It is not usually necessary to swap Remote Access out of memory to run
Robo-Sysop.
LOCAL MODE:
To run Robo-Sysop locally, change the COM port definition to COM0 in door.sys.
See the enclosed "test.bat" and "door.sys" files for an example.
6
CONFIGURATION FILE:
Robo-Sysop requires a configuration file. This is an ascii text file comprised
of several lines as follows:
Format Description Example
---------------------------------------
xxxx Data file name robosys.dat
xxxx Computer's name Robo Sysop
nnnn Delay on typing 50
xxxx Termination message Thankyou for your cooperation
xxxx Dump message Your input will be analysed later. Thankyou.
Please note: The "termination" and "dump" messages may not be longer than 999
characters. If they are they may crash the computer.
SYSOP KEYS ACTIVE WHEN A USER IS ONLINE:
Function key Purpose
F5 Shell to DOS
F8 Return user to BBS
F9 Toggle display on/off
F10 Chat mode (use the ESCAPE key to exit)
ALT-H Toggle between different status lines
Alternately pressing the ALT-H key will bring up the next status line screen.
The first screen is a help screen, the second second screen shows your COM
port status.
7
DISTRIBUTION AND BETA TESTING BY
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
██▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▌████ ┌────────────────────────────┐
██ C>_ ▌█▀██ │ COGNITIVE DEVELOPMENT BBS │
██ ▌████ │ │
██ ▌████ │ Providing a forum for A.I. │
██ ▌█o██ │ researchers and developers │
██ ▌█o██ ├────────────────────────────┤
██▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌█ ██ │ Basingstoke, Hampshire, UK │
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ │ │
████████████████████████▀▀▀▀▀▀▀▀▀▀▀▀▀▀█ │ 0256 50086 24 hours a day │
████████████████████████ ═══/═[──]═══ █ │ │
████████████████████████──────────────█ │ 300 baud to 14,400 baud │
█▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌████ ═══/═[──]═══ █ └────────────────────────────┘
████████████████████████▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀